package api_.string_;

public class StringDemo
{
    public static void main(String[] args)
    {
        String s = "hello";  // s 存储地址 为常量池中对应"hello" 的地址
        String s1 = "hello";  // s1 也存储地址
        String s2 = new String("hello");  // 存储的是new String() 对象的地址
        System.out.println(s == s1);   //  两个地址相同
        System.out.println(s1 == s2);  // new

        String s3 = "hell" + "o";   //   直接字符串连接，会发生预计算的特性，直接编译为String s3 = hello;
        System.out.println(s3 == s1); // true;

        String s4 = "hel";
        String s5 = s4 + "lo";   // 字符串是不变对象，字符串拼接会产生新对象，s5指向新对象  且不复用 s1
        System.out.println(s4 == s5 );   // false;

        String s6 = "ha ha";
        String s7 = "ha ha";
        System.out.println(" s6.equals(s7) = "+ s6.equals(s7));

    }
}
